Data security is a primary concern in some fields. For example, in the medical field, the Health Insurance Portability and Accountability Act (HIPAA) regulates how a patient's medical records can be accessed. In another example, a company may have authorization levels and departmental restrictions that control how employees are able to access information related to the company's projects. Conventionally, a relational data model, where data is contained in rows of one or more tables, may be used to store data. To prevent improper use of this stored data, data protection may be provided by a combination of row level and column level security labels. These labels may control access to the corresponding data. A user querying for data may have an access label. A user may be given an access label by an administrator based on, for example, the role of the user in the company. The access label may be compared with data sensitivity labels associated with data the user attempts to access. The user may then be provided with the requested data if the access label associated with the user meets or exceeds a threshold dictated by the row level and/or column level sensitivity labels associated with the data.
Table-based data structures, as described above, are conventionally used for storing highly structured data. In situations where the data is less structured, and/or the structure is not known in advance, table-based storage may not be suitable. For example, in a database where information is sparse, the relational model may not efficiently handle some queries. In another example, a company may find it advantageous to be able to quickly associate properties with individual entries in a database without multiplicatively increasing the storage requirement of the database. In the above examples, a database using the resource description framework (RDF) data model for data storage may be more efficient.
Conventional databases using the RDF model contain a series of records. An RDF record may include an RDF triple comprising a subject value, an object value, and a predicate value. The predicate value may describe a relationship between the subject value and the object value. An RDF record may also include other information associated with the triple (e.g. creation date, creator, modification information, etc.). RDF databases provide limited data security capabilities, which in turn limits their applicability for use in a broader array of tasks.